Hitherto, a major object of generating gaits (desired gaits) for making a legged mobile robot, e.g., a bipedal mobile robot, carry out a traveling motion has been focused mainly on generating gaits (walking gaits) to make the robot effect a smooth walking motion. In recent years, however, as the development of legged mobile robots advances, it has come to be desired to generate gaits that enable the robots not only to walk but to run also. Furthermore, it has come to be desired to generate gaits that enable the robots to move without troubles even on a slippery floor (so-called low-μ path) on which a sufficient frictional force cannot be produced.
Since the Chinese characters for “gait” include a character meaning “walking,” the gait tends to be misinterpreted that the definition thereof is limited to walking. However, “gait” originally presents a concept that includes running, as it is used as a term indicating a running mode of a horse, such as “trot.”
A description will now be given of the difference between walking and running in terms of characteristics.
A traveling mode that includes an instant at which all legs are simultaneously floating is usually defined as running. This definition, however, does not always make it possible to clearly distinguish between walking and running. For instance, in most humans, there are instants at which all legs float at the same time during fast jogging, whereas many humans have one of their legs always in contact with the ground during slow jogging. It is somehow perceptually unreasonable to define fast jogging as running and slow jogging as walking.
FIG. 50 shows a pattern of vertical body positions and floor reaction force vertical components (a sum of floor reaction force vertical components acting on right and left legs) in typical running, and FIG. 51 shows a pattern of vertical body positions and floor reaction force vertical components in typical walking.
A vertical body position/velocity means a vertical position of a representative point of a body and a velocity thereof. A horizontal body position/velocity means a horizontal position of a representative point of the body and a velocity thereof. A vertical body position/velocity and a horizontal body position/velocity together will be referred to as body position/velocity.
Strictly speaking, the “floor reaction force vertical component” should be described as “translational floor reaction force vertical component” to distinguish it from a moment component about a vertical axis of a floor reaction force; however, the term is too long, so that the term “translational” will be omitted. Hereinafter, the “translational floor reaction force horizontal component” will be described as “floor reaction force horizontal component,” omitting “translational.”
First, attention will be focused on the movement of the body. In walking, the body reaches a highest level at the instant the body passes over a supporting leg, while it reaches a lowest level at this instant in running. In other words, the phase of a vertical motion pattern of the body reverses between walking and running.
Meanwhile, a floor reaction force remains relatively constant in walking, whereas it considerably varies in running, the floor reaction force reaching its maximum at the moment the body passes over a supporting leg. Needless to say, the floor reaction force is zero at the instant when all legs are simultaneously floating. More detailed observation reveals that a floor reaction force of a magnitude that is substantially proportional to a compression amount of the supporting leg is generated while running. In other words, it may be said that the legs are used like springs to jump for traveling while running.
Slow jogging has the same body vertical motion phase as that of typical running. In addition, slow jogging frequently includes no instants at which all legs are simultaneously floating; however, even in this case, a floor reaction force reaches substantially zero, although not completely zero, at an instant when a supporting leg and an idle leg are switched.
Hence, distinguishing between walking and running on the basis of the aforesaid characteristics of the vertical motions of the body or floor reaction force patterns as described above may be more appropriate and perceptually reasonable, because slow jogging is also regarded as running.
In particular, to distinguish between the two on the basis of a most characteristic aspect, running may be defined as a traveling mode in which the floor reaction force becomes zero or substantially zero at the instant a supporting leg is switched, while walking may be defined as a traveling mode (a floor reaction force vertical component remaining relatively constant) other than that.
The present applicant has previously proposed, in PCT Kokai publication WO/02/40224, an art for generating freely and in real time a gait of a legged mobile robot that includes a floor reaction force while substantially satisfying dynamic balance conditions (This means the conditions of balance among gravity, an inertial force, and a floor reaction force of a desired gait. In a narrow sense, it means that the horizontal component of a moment about a desired ZMP by the resultant force of gravity and an inertial force produced by a motion of a desired gait is zero. Detailed description will be given hereinafter). This art and a series of the control devices of legged mobile robots proposed by the present applicant in Japanese Unexamined Patent Application Publication No. 10-86081, Japanese Unexamined Patent Application Publication No. 10-277969 can be applied to walking and also to running.
These arts, however, have not considered the magnitudes of a vertical component of a floor reaction force moment about the ZMP of a desired gait. Hence, there has been a danger in that the vertical component of a floor reaction force moment becomes excessive, causing a frictional limitation to be exceeded and consequently leading to a spin. The term “spin” refers to a state in which a yaw angle (a rotational angle about a vertical axis) velocity of an actual robot deviates from a desired yaw angular velocity.
When a robot walks on a floor surface having a high friction coefficient (in this case, at least one leg is always in contact with the ground), a floor reaction force vertical component is always substantially equivalent to a robot's own weight, thus providing a higher limit of a frictional force (i.e., the vertical component of a floor reaction force moment). This makes the robot resistant to spin.
In running, however, there are cases where the floor reaction force vertical component becomes zero or close to zero; hence, in such a case, the limit of the moment vertical component of the frictional force of a floor surface becomes zero or close to zero even if a friction coefficient is high. Accordingly, there has been a danger in that a floor reaction force moment vertical component of a desired gait exceeds a limit, causing a spin and a fall.
Further, even in the case of walking, there has been a danger in that a robot spins and falls if a floor has a low friction coefficient.
Meanwhile, the present applicant has previously proposed a technique, in which an arm is swung so as to cancel a moment vertical component generated by anything other than arms in a desired gait in, for example, PCT application PCT/JP02/13596.
In this case, the moment vertical component of a desired gait will be substantially zero; however, if the robot travels, severely swinging its legs, it will also swing its arms severely.
Generally, in a human-like robot, the mass of its arms is smaller than that of its legs. Hence, in order to completely cancel a moment vertical component, it is necessary to swing the arms more severely than the legs.
However, the motion range of the arms is limited and the torque and speed of the actuators of the arms are also limited. Therefore, if the robot travels, severely swinging its legs, there have been some cases where a moment vertical component cannot be fully canceled by the arms.
Furthermore, there has been a danger in that, if arms are swung to cancel out a moment vertical component produced by anything other than arms in a desired gait, then the center of arm swing is gradually offset, causing the swings of the right and left arms to be asymmetrical. Specifically, to make a left turn, if a robot swings its arms to fully offset a moment vertical component generated by anything other than arms, then the left arm is swung more toward the front and swung less toward the rear, while the right arm is swung less toward the front and swung more toward the rear in order to offset the change in an angular momentum caused by the legs and the body having turned to the left. This may cause the left arm to reach a motion limit of the swing toward the front, and the right arm to reach a motion limit of the swing toward the rear.
Furthermore, if a motion is made to restore the center of the arm swing so as to prevent the swings of the right and left arms from becoming asymmetrical, then a floor reaction force moment vertical component is generated. This in turn causes a floor reaction force moment vertical component of a desired gait to exceed a limit, possibly causing the robot to spin.
Accordingly, an object of the present invention is to provide a gait generating device which solves the problems described above and which is capable of generating further ideal gaits regardless of the types of gaits, such as walking and running, and a friction condition of a floor surface.
More specifically, an object of the present invention is to provide a gait generating device capable of generating gaits that make it possible to prevent a robot from spinning and falling caused by the spinning, considering limitation of a moment vertical component of the force of a friction between the robot and a floor surface. Another object is to provide a gait generating device capable of generating a gait motion pattern that satisfies a dynamic balance condition even in a leg-floating period or even if the limit of a moment vertical component of a frictional force is extremely low. Still another object is to prevent lateral asymmetry of a desired gait from increasing so as to secure continuity of a motion.